# 使用Node.js 21作为基础镜像
FROM node:21-alpine

# 设置 npm 镜像源为淘宝镜像源
RUN npm config set registry https://registry.npmmirror.com

# 设置工作目录
WORKDIR /app

# 安装TypeScript和PM2全局工具
RUN npm i -g typescript pm2

# 复制package.json和package-lock.json到工作目录
COPY package*.json ./

# 安装应用程序的依赖
RUN npm i

# 复制应用程序的源代码到工作目录
COPY . .

# 构建TypeScript应用
RUN npm run build

# 暴露应用程序运行的端口（根据您的应用需求进行修改）
EXPOSE 3000

# 启动应用程序
CMD ["pm2-runtime", "start", "dist/app.js"]
